This invention relates to a fast calculation apparatus included in each of a forward transform calculation apparatus and an inverse transform calculation apparatus.
A modified discrete cosine transform (hereinafter abbreviated to MDCT) apparatus is known as a linear transform apparatus for a digital signal such as an audio signal and a picture signal. In a conventional transform calculation apparatus, it is possible by the use of the MDCT technique to carry out a forward and an inverse transform calculation which are well known in the art.
The MDCT apparatus is described in detail in an article contributed by N. Schiller to the SPIE Vol. 1001 Visual Communications and Image Processing '88, pages 834-839, under the title of “Overlapping Block Transform for Image Coding Preserving Equal Number of Samples and Coefficients”. The article will be described below.
In the MDCT technique, a forward transform equation and an inverse transform equation are given:                                           y            ⁡                          (                              m                ,                k                            )                                =                                    ∑                              n                =                0                                            N                -                1                                      ⁢                                                   ⁢                                          x                ⁡                                  (                  n                  )                                            ⁢                              h                ⁡                                  (                  n                  )                                            ⁢                              cos                ⁢                                                                   [                                  2                  ⁢                                      π                    ⁡                                          (                                              k                        +                                                  1                          ⁢                                                      /                                                    ⁢                          2                                                                    )                                                        ⁢                                      (                                          n                      +                                              n                        ⁢                                                                                                   ⁢                        0                                                              )                                    ⁢                                      /                                    ⁢                  N                                ]                                                    ⁢                                  ⁢        and                            (        1        )                                                      xf            ⁡                          (                              m                ,                n                            )                                =                      2            ⁢                          f              ⁡                              (                n                )                                      ⁢                          /                        ⁢            N            ⁢                                          ∑                                  k                  =                  0                                                  N                  -                  1                                            ⁢                                                           ⁢                                                y                  ⁡                                      (                                          m                      ,                      k                                        )                                                  ⁢                                  cos                  ⁢                                                                           [                                      2                    ⁢                                          π                      ⁡                                              (                                                  k                          +                                                      1                            ⁢                                                          /                                                        ⁢                            2                                                                          )                                                              ⁢                                          (                                              n                        +                                                  n                          ⁢                                                                                                           ⁢                          0                                                                    )                                        ⁢                                          /                                        ⁢                    n                                    ]                                                                    ,                            (        2        )            wherein x represents an input signal, N represents a block length (N is multiple of 4), m represents a block number, h represents a forward transform window function, f represents an inverse transform window function, each of n and k represents an integer variable between 0 and N−1, both inclusive. Herein, n0 is given as follows:n0=N/4+½.  (3)
It is necessary in each of the forward and the inverse transform calculations to carry out a large number of multiplication times and addition times. This is because k is the integer between 0 and (N−1), both inclusive. Accordingly, an increase in the block length N results in an increased number of times of each of the multiplication and the addition.